package com.collaborativelearning;



import com.collaborativelearning.dummy.User;

import com.collaborativelearning.dummy.Management;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class RegisterActivity extends Activity {

	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_register);

		TextView loginScreen = (TextView) findViewById(R.id.link_to_login);
		// Listening to Login Screen link
		loginScreen.setOnClickListener(new View.OnClickListener() {

			public void onClick(View arg0) {
				// Closing registration screen
				// Switching to Login Screen/closing register screen
				finish();
			}
		});
		
		final EditText reg_fullname = (EditText) findViewById(R.id.reg_fullname);
		final EditText reg_password = (EditText) findViewById(R.id.reg_password);
		final EditText reg_password_confirm = (EditText) findViewById(R.id.reg_password_confirm);
		final EditText reg_id = (EditText) findViewById(R.id.reg_id);
		final EditText reg_email = (EditText) findViewById(R.id.reg_email);
		
		Button btnRegister = (Button) findViewById(R.id.btnRegister);
		btnRegister.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				
				
				reg_fullname.setError(null);
				reg_password.setError(null);
				reg_password_confirm.setError(null);
				reg_id.setError(null);
				reg_email.setError(null);
				
				
				if(reg_fullname.getText().toString().trim().isEmpty()) {
					reg_fullname.setError("!برجاء ادخال الاسم");
					return;
				}
				
				if(reg_password.getText().toString().trim().isEmpty()) {
					reg_password.setError("برجاء ادخال كلمة السر!");
					return;
				}
				
				if(reg_password.getText().toString().trim().length() < 6) {
					reg_password.setError("كلمة السر ضعيفة!");
					return;
				}
				
				if(!reg_password_confirm.getText().toString().trim().equals(reg_password.getText().toString().trim())) {
					reg_password_confirm.setError("كلمة السر غير متطابقة مع تأكيد كلمة السر!");
					return;
				}
				
			
				if(reg_id.getText().toString().trim().isEmpty()) {
					reg_id.setError("برجاء ادخال رقم الهوية !");
					return;
				}
				
				if(reg_email.getText().toString().trim().isEmpty()) {
					reg_email.setError("!برجاء ادخال بريدك الالكترونى");
					return;
				}		
				if(!reg_email.getText().toString().trim().matches(Management.EMAIL_PATTERN)) {
					reg_email.setError("بريدك الالكترون غير صحيح!");
					return;
				}
				boolean emailFound=false;
				boolean nameMatch= false;
				boolean passwordMatch=false;
				boolean idMatch = false;
				for (User user : Management.INSTANCE.getUsers()) {
					if(reg_email.getText().toString().trim().equals(user.getEmail())){
						emailFound = true;
						
						if(reg_fullname.getText().toString().trim().equals(user.getFullname())){
							nameMatch = true;
							if(reg_password.getText().toString().trim().equalsIgnoreCase(user.getPassword())){
								passwordMatch = true;
								if(reg_id.getText().toString().trim().equals("" + user.getId())){
									idMatch = true;
									break;
								}
							}
						}
					}
				}
				if(!emailFound){
					reg_email.setError("البريد الالكترونى غير موجود فى قاعدة البيانات");
					return;
				}
				if(!nameMatch){
					reg_fullname.setError("الاسم غير متطابق مع قاعدت البيانات");
					return;
				}
				if(!passwordMatch){
					reg_password.setError(" كلمة السر غير متطابقه مع قاعدت البيانات");
					return;
				}
				if(!idMatch){
					reg_id.setError("رقم الهويه غير متطابق مع قاعدت البيانات");
					return;
				}
				
				Toast.makeText(getApplicationContext(), "تسجيل صحيح! حاول الدخول الآن!", Toast.LENGTH_LONG).show();
				
				// Closing registration screen
				// Switching to Login Screen/closing register screen
				finish();
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_register, menu);
		return true;
	}

}
